package com.haoshuang.zhouzhoubang.ui.dialog

import android.content.Context
import com.google.android.flexbox.AlignItems
import com.google.android.flexbox.FlexDirection
import com.google.android.flexbox.FlexWrap
import com.google.android.flexbox.FlexboxLayoutManager
import com.google.android.flexbox.JustifyContent
import com.haoshuang.zhouzhoubang.R
import com.haoshuang.zhouzhoubang.databinding.DialogShowSkillListBinding
import com.haoshuang.zhouzhoubang.ui.page.home.settings.skill.record.ServiceLabelAdapter2
import com.lxj.xpopup.core.BottomPopupView

class ShowSkillListDialog(context: Context, private val skillList: MutableList<String>): BottomPopupView(context) {

    override fun getImplLayoutId(): Int {
        return R.layout.dialog_show_skill_list
    }

    private lateinit var binding: DialogShowSkillListBinding

    private val adapter = ServiceLabelAdapter2(skillList)

    override fun onCreate() {
        super.onCreate()
        binding = DialogShowSkillListBinding.bind(popupImplView)

        val flexboxLayoutManager = FlexboxLayoutManager(context)    // 创建布局管理者
        flexboxLayoutManager.apply {
            flexDirection = FlexDirection.ROW   //设置水平方向。从左到右
            //flexWrap 默认情况下 Flex 跟 LinearLayout 一样，都是不带换行排列的，但是flexWrap属性可以支持换行排列。
            flexWrap = FlexWrap.WRAP    //按正常方向换行
            //justifyContent 属性定义了项目在主轴上的对齐方式。
            justifyContent = JustifyContent.FLEX_START  //项目在主轴上对齐方式，例如上面定义水平方向，就是水平方向对齐方式
            alignItems = AlignItems.CENTER  //项目在交叉口对齐方式，因为上面定义水平方向，则为在垂直方向对齐方式
        }

        binding.recyclerView.layoutManager = flexboxLayoutManager
        binding.recyclerView.adapter = adapter
    }
}